Skip to content

feat(report): itis_sumo.report facade + incubator diagnostics promotion → 0.1.0a11 - #54

Merged
JavierGOrdonnez merged 4 commits into
developfrom
jgo/report-submodule
Oct 1, 2026
Merged

JavierGOrdonnez merged 4 commits into
developfrom
jgo/report-submodule

Conversation

@JavierGOrdonnez

Copy link
Copy Markdown
Collaborator

Automated report notebooks (marimo; tissue-conductivity LHS instance) currently need engine capability that exists only on the confidential incubator line, and they reach into itis_sumo.{api,data,evaluate.funs_evaluate} internals in parallel (a V16qf-style violation for the report-authoring consumer class). This PR promotes the still-unpromoted incubator tooling and lands a curated report surface, mirroring how itis_sumo.api serves flaskapi/mmux_vite.

  • T48np (cherry-picked port): data select_variable_scale/auto_select_distributions; evaluate compute_coverage, compute_cv_diagnostics, fit_convergence_exponential{,_asymptotic}, bootstrap/draws/diagnostics redesign of compute_cv_convergence, mean_signed_error (+ api CVAccuracyMetrics field); NIH test files ride along. Conflicts resolved against the feat(api): honour log-scale across every workflow (T27fr) #47–fix(api): grid restores original name for std companion series (B21ru) → 0.1.0a10 #52 line (no Sobol/log changes taken from the incubator — develop's newer estimators win; port touches only the CV/metrics region)
  • T49np: detect_raw_outliers (selected-scale Tukey fence, flag-only) + analyze_dataset wired for real → T18ry unblocked (was BLOCKED exactly on these pieces)
  • T54rp: new itis_sumo.report façade — flat re-export surface for report authoring (V49rp); contract test pins completeness + object identity
  • SPEC: §V V16wq/V17kb/V18wp/V19cz/V46np/V49rp; §T T48np/T49np/T54rp + T18ry flip; §I report row

Local: 454-test suite green (incl. live-Dakota CV paths), prek --all-files + ty clean.

Downstream: the LHS report moves out of itis-sumo into TI_uncertainty (lhs_report/, uv project) pinned to this package — the report becomes a consumer of the released surface, not an in-repo example.

Javier Garcia Ordonez and others added 4 commits October 1, 2026 16:07
…ence fits, scale selection (T48np)

Clean re-port of the still-unpromoted NIH-incubator tooling
(CONFIDENTIAL/nih-merck-validation) onto the log-scale/api era:
- data: select_variable_scale, auto_select_distributions
- evaluate: compute_coverage, compute_cv_diagnostics,
  fit_convergence_exponential(_asymptotic), bootstrap+draws+diagnostics
  redesign of compute_cv_convergence, mean_signed_error in CV metrics
- api CVAccuracyMetrics absorbs mean_signed_error
- propagate_uq_with_uncertainty deliberately NOT ported: the api-era
  propagate_manual_uq_with_uncertainty already covers it

Tests: NIH versions of test_funs_evaluate_cv_stats.py (superset) and
test_dakota_funs_data_processing.py additions, ruff-normalized.

(cherry picked from commit 35d2b9933aa26bffdbcc65ed1878eeac9a5313a3)
…T49np)

The 'does not exist yet, anywhere' gap from BRANCH_CONSOLIDATION.md §3:
- detect_raw_outliers: Tukey fence computed in the variable's SELECTED
  scale (geometric fence for log-selected variables -- arithmetic fences
  over-flag the benign right tail of multiplicative data), flag-only,
  NaN-excluded, fences reported in the values' own units
- analyze_dataset wired for real (was T18ry scaffold): auto scale/
  distribution + per-column outliers + optional candidate detail,
  dataclasses.asdict() JSON round-trip for the flaskapi boundary

Flip tests: geometric-vs-arithmetic over-flagging guard; ln<->log10
affine log-basis moves zero flags (V46np).

(cherry picked from commit 21a5a233e5e90f30f5a4da56dd6ab2adbd35d027)
…(T54rp)

Report code (marimo report notebooks, tissue-conductivity LHS instance)
reached into itis_sumo.{api,data,evaluate.funs_evaluate} internals in
parallel; every engine refactor then forced coordinated report edits --
the report-authoring class of V16qf violations.

- new itis_sumo.report: flat curated surface (diagnostics, CV
  validation/calibration incl. T48np coverage/bootstrap/convergence
  fits, sensitivity/correlation, manual-UQ propagation); re-exports
  only, no logic
- contract test pins __all__ completeness + object identity to the
  source modules (tests/test_report_surface.py)
- SPEC: V49rp facade rule; T48np/T49np/T54rp land rows; T18ry unblocked
  (analyze_dataset real w/ this promotion); §I report row

Co-authored-by: Qwen3.8 Flash Next NVFP4 (AWS vLLM) <noreply@anthropic.com>
@JavierGOrdonnez
JavierGOrdonnez merged commit 44093a1 into develop Oct 1, 2026
9 checks passed
@JavierGOrdonnez
JavierGOrdonnez deleted the jgo/report-submodule branch October 1, 2026 15:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant